#include "AppDelegate.h"

#include "cocos2d.h"
#include "GameManager.h"

#include "SimpleAudioEngine.h"
#include "FlowController.h"
#include "Supporting/SoundLoader.h"

USING_NS_CC;

AppDelegate::AppDelegate()
{

}

AppDelegate::~AppDelegate()
{
}

bool AppDelegate::applicationDidFinishLaunching()
{
	// initialize director
    CCDirector *pDirector = CCDirector::sharedDirector();
    pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());

    // turn on display FPS
    pDirector->setDisplayStats(false);

    // set FPS. the default value is 1.0/60 if you don't call this
    pDirector->setAnimationInterval(1.0 / 60);

    // initialize sound preferences
    SoundLoader::init();

    FlowController *_myFlowController = new FlowController();

    //Temp for jumping straight into gamemanager
    //CCScene *pScene = GameManager::scene();
    //pDirector->runWithScene(GameManager::scene());

    // Execute Flow Controller
    pDirector->runWithScene(_myFlowController->loadInitialScreen());

    return true;
}

// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground()
{
    CCDirector::sharedDirector()->pause();

    // if you use SimpleAudioEngine, it must be pause
    CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
}

// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground()
{
    CCDirector::sharedDirector()->resume();
    
    // if you use SimpleAudioEngine, it must resume here
    CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
}
